Software-defined networking (SDN) is a form of computer networking in which the control plane is decoupled from the data plane. With a separated control plane, SDN can be used to enable different types of services. One of those services is network virtualization, which allows a physical network provider to sell or lease different virtual networks to different clients (e.g., service network providers). Each service network provider can use its virtual network just like it uses its own private network while sharing underlying physical network resources with other service network providers.
Service chaining is another service in which SDN can play an important role. Traditionally, a service chain consists of a set of dedicated network service boxes such as firewalls, load balancers, and application delivery controllers that are concatenated to support a specific application. With a new service request, new devices must be installed and interconnected in a certain order. This can be a complex, time-consuming, and error-prone process, requiring careful planning of topology changes and network outages and increasing costs. These problems can be exacerbated when a client requires different service sequences for different traffic flows or when multiple clients share the same network.
Network Function Virtualization (NFV) is a concept built on network virtualization. It involves the implementation of network functions in software that can run on a range of industry-standard high-volume servers, switches, and storage devices. With NFV, SDN can dynamically create a virtual environment for a specific service chain and eliminate the additional hardware and other issues described above.
Another service in which SDN can play an important role is application-centric traffic steering. Application service providers have tried various ways to differentiate their customers so that they can maximize their revenues and minimize their costs. For example, cookies have been used to track HTTP (HyperText Transfer Protocol) users; however, because cookies sit within the application layer (Layer 7 of International Organization for Standardization Open Systems Interconnection (ISO/OSI) model), they provide very little information that is helpful for the provisioning of network and computing resources. On the other hand, differentiated services (e.g., “DiffServ”) architectures and virtual local area networks (VLANs) sit below ISO/OSI Layer 4. Consequently, information that might be used to differentiate customers is not maintained from one end of the network to another. Therefore, application-centric traffic steering, although widely desired, is still hard to achieve. SDN is being advanced as a possible solution to the problems associated with achieving application-centric traffic steering.